#include <iostream>
#include <vector>

using namespace std;

void insert_sort(vector<int> &vec)
{
    int len = vec.size();
    for(int i = 1; i < len ; ++i)
    {
        int temp = vec[i]; //将需要的排列的数放到temp，那需要排列的数的位置就已经空了，然后能够使前面的大于这个数的有序序列进行后移，方便这个数插入
        int j;
        for(j = i - 1; j >= 0 && temp < vec[j]; --j)
        {
            vec[j + 1] = vec[j]; //把大于temp的数全部后移
        }
        vec[j + 1] = temp; //将之前的需要排列的这个数插入到相应的位置。之前已经执行了--j，所以--j这个位置的数是小于需要排序的这个数，将这个数放在--j之后的j+1的位置。 
    }
}

int main()
{
    int num;
    cin >> num;

    vector<int> vec;
    int tempNum;
    for(int i = 0; i < num ; ++i)
    {
        cin >> tempNum;
        vec.push_back(tempNum);
    }

    insert_sort(vec);

    for(vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
    {
        cout << *it << " ";
    }
    cout << endl;

    return 0;
}
